package com.ruoyi.zsyh.mapper;

import java.util.List;
import java.util.Map;

import com.ruoyi.zsyh.domain.ZsyhPlatformParts;
import com.ruoyi.zsyh.domain.ZsyhPlatformPartsattribute;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;

/**
 * 配件管理Mapper接口
 * 
 * @author yuexl
 * @date 2021-12-10
 */
public interface ZsyhPlatformPartsMapper 
{
    /**
     * 查询配件管理
     * 
     * @param id 配件管理ID
     * @return 配件管理
     */
    public ZsyhPlatformParts selectZsyhPlatformPartsById(String id);

    public ZsyhPlatformParts selectZsyhPlatformPartsByIdStore(@Param(value = "userType")String userType, @Param(value = "id")String id);

    public List<ZsyhPlatformParts> selectZsyhPlatformPartsByFactoryId(String factoryId);

    /**
     * 查询配件管理列表
     * 
     * @param zsyhPlatformParts 配件管理
     * @return 配件管理集合
     */
    public List<ZsyhPlatformParts> selectZsyhPlatformPartsList(ZsyhPlatformParts zsyhPlatformParts);

    @MapKey("id")
    public List<Map> getPartsListCheckByStoreId(String storeId);

    /**
     * 新增配件管理
     * 
     * @param zsyhPlatformParts 配件管理
     * @return 结果
     */
    public int insertZsyhPlatformParts(ZsyhPlatformParts zsyhPlatformParts);

    /**
     * 修改配件管理
     * 
     * @param zsyhPlatformParts 配件管理
     * @return 结果
     */
    public int updateZsyhPlatformParts(ZsyhPlatformParts zsyhPlatformParts);

    /**
     * 删除配件管理
     * 
     * @param id 配件管理ID
     * @return 结果
     */
    public int deleteZsyhPlatformPartsById(String id);

    /**
     * 批量删除配件管理
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteZsyhPlatformPartsByIds(String[] ids);

    /**
     * 批量删除产品规格管理
     * 
     * @param customerIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteZsyhPlatformPartsattributeByPartsIds(String[] ids);
    
    /**
     * 批量新增产品规格管理
     * 
     * @param zsyhPlatformPartsattributeList 产品规格管理列表
     * @return 结果
     */
    public int batchZsyhPlatformPartsattribute(List<ZsyhPlatformPartsattribute> zsyhPlatformPartsattributeList);
    

    /**
     * 通过配件管理ID删除产品规格管理信息
     * 
     * @param id 配件管理ID
     * @return 结果
     */
    public int deleteZsyhPlatformPartsattributeByPartsId(String id);

    /**
     * 查询产品列表
     *
     * @param zsyhPlatformParts 产品
     * @return 产品集合
     */
    public List<ZsyhPlatformParts> selectZsyhPartsListIn(ZsyhPlatformParts zsyhPlatformParts);

    public List<Map> getPartsListByTypeId(@Param(value = "partsType")String partsType, @Param(value = "key")String key, @Param(value = "num")int num, @Param(value = "size")int size, @Param(value = "agentId")String agentId);

    public List<Map> getPartsSalesVolumeAll(Map map);
}
